Reraise exceptions caught in create.py, so that the error handling in main.py
authoremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Thu, 1 Jun 2006 10:57:33 +0000 (11:57 +0100)
committeremellor@leeni.uk.xensource.com <emellor@leeni.uk.xensource.com>
Thu, 1 Jun 2006 10:57:33 +0000 (11:57 +0100)
can handle it neatly.

Signed-off-by: Daniel Miles <daniel.t.miles@hp.com>
tools/python/xen/xm/create.py

index fffa8368967834fbb74ed54ea069761068d7ee5b..2a6a39873837a6a2923ee331bb32c0a9eb8a7eff 100644 (file)
@@ -903,10 +903,15 @@ def make_domain(opts, config):
         else:
             err("%s" % ex.faultString)
     except Exception, ex:
+        # main.py has good error messages that let the user know what failed.
+        # unless the error is a create.py specific thing, it should be handled
+        # at main. The purpose of this general-case 'Exception' handler is to
+        # clean up create.py specific processes/data but since create.py does
+        # not know what to do with the error, it should pass it up.
         import signal
         if vncpid:
             os.kill(vncpid, signal.SIGKILL)
-        err(str(ex))
+        raise ex
 
     dom = sxp.child_value(dominfo, 'name')